/**
 * @filename:Term.java
 * Copyright(c) 2020 cyq9990
 * All right reserved.
 */

package com.cyq.api.modules.term.dto;

import java.io.Serializable;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 *
 * @Description:  学期模块 - 表示层对象
 * @Author:       cyq9990
 * @CreateDate:   Tue May 19 11:32:05 CST 2020
 * @Version:      V1.0
 *
 */

/* 该类所有变量为脚本生成，使用时请删除多余字段 */

@Data
@NoArgsConstructor
public class TermDTO implements Serializable {

	private static final long serialVersionUID = 1L;

	@ApiModelProperty(name = "id" , value = "")
	private Integer id;

	@ApiModelProperty(name = "title" , value = "学期名称")
	private String title;

	@ApiModelProperty(name = "companyId" , value = "运行公司ID,一对一")
	private Integer companyId;

	@ApiModelProperty(name = "khCompanyId" , value = "客户公司ID,一对多")
	private String khCompanyId;

	@ApiModelProperty(name = "status" , value = "学期状态：0启用1禁用2草稿")
	private Integer status;

	@ApiModelProperty(name = "remarks" , value = "备注信息")
	private String remarks;

	@ApiModelProperty(name = "videoCount" , value = "应学视频数")
	private Integer videoCount;

	@ApiModelProperty(name = "writerScore" , value = "笔试成绩")
	private Float writerScore;

	@ApiModelProperty(name = "operationScore" , value = "实操成绩ID")
	private Float operationScore;

	@ApiModelProperty(name = "reExam" , value = "是否可以补考 0 不可以， 1 可以")
	private Integer reExam;

	@ApiModelProperty(name = "examAllowCount" , value = "准考次数")
	private Integer examAllowCount;

	@ApiModelProperty(name = "examType" , value = "学期考试类型选项 :0 无考试 1 线上 2线下")
	private Integer examType;

	@ApiModelProperty(name = "autoCreate" , value = "用户注册时，自动关联本学期, 0:否,1:是")
	private Integer autoCreate;

	@ApiModelProperty(name = "chargeType" , value = "计费类型, 暂不清楚用法")
	private Integer chargeType;

	@ApiModelProperty(name = "limitMonth" , value = "计费有效期")
	private Integer limitMonth;

	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
	@ApiModelProperty(name = "belongYear" , value = "所属月份")
	private Date belongYear;

	@ApiModelProperty(name = "lessonCount" , value = "应学课时数")
	private Integer lessonCount;

	@ApiModelProperty(name = "classType" , value = "课程结算类型，0：按视屏个数结算 1：按课时数结算")
	private Integer classType;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@ApiModelProperty(name = "saleExpireDate" , value = "购买截止日期")
	private Date saleExpireDate;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@ApiModelProperty(name = "useExpireDate" , value = "使用有效期，购买后显示在学期上（原有的时间段和月数统称为购买有效期）")
	private Date useExpireDate;

	@ApiModelProperty(name = "forbidDateBegin" , value = "禁止学习时段：开始时间")
	private Integer forbidDateBegin;

	@ApiModelProperty(name = "forbidDateEnd" , value = "禁止学习时段：截止时间")
	private Integer forbidDateEnd;

	@ApiModelProperty(name = "termShowType" , value = "0:课程模式 1: 学期模式")
	private Integer termShowType;

	@ApiModelProperty(name = "cover" , value = "封面ID")
	private Integer cover;

	@ApiModelProperty(name = "isViolation" , value = "0:学期 1: 违章学习")
	private Integer isViolation;

	@ApiModelProperty(name = "industryId" , value = "行业类别ID")
	private String industryId;

	@ApiModelProperty(name = "videoGroupId" , value = "视频组id")
	private Integer videoGroupId;

	@ApiModelProperty(name = "minutesBetween" , value = "练习题间隔分钟数")
	private Integer minutesBetween;

	@ApiModelProperty(name = "termCategory" , value = "学期类型")
	private Integer termCategory;

	@ApiModelProperty(name = "isAuthentication" , value = "是否开启证书 0 ：否 1：是")
	private Integer isAuthentication;

	@ApiModelProperty(name = "practiceId" , value = "随堂练习考试ID")
	private Integer practiceId;

	@ApiModelProperty(name = "tryVideoSectionId" , value = "试看视频ID")
	private Integer tryVideoSectionId;

	@ApiModelProperty(name = "isPublic" , value = "是否公开 0：不公开 1：公开 2：指定企业公开")
	private Integer isPublic;

	@ApiModelProperty(name = "publicKId" , value = "指定公开客户公司，一对多")
	private String publicKId;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@ApiModelProperty(name = "ctime" , value = "创建时间")
	private Date ctime;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@ApiModelProperty(name = "utime" , value = "更新时间")
	private Date utime;

	@ApiModelProperty(name = "createUser" , value = "创建人")
	private Integer createUser;

	@ApiModelProperty(name = "modifyUser" , value = "修改人")
	private Integer modifyUser;

	@ApiModelProperty(name = "isDel" , value = "是否删除")
	private Integer isDel;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@ApiModelProperty(name = "expiredTime" , value = "过期时间")
	private Date expiredTime;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@ApiModelProperty(name = "startTime" , value = "生效时间")
	private Date startTime;

	@ApiModelProperty(name = "examId" , value = "学期考试的id")
	private Integer examId;

	@ApiModelProperty(name = "lessonTime" , value = "每课时分钟数，从运营公司上读取")
	private Integer lessonTime;


}
